/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managertelaCadastros;

import classes.Cidade;
import dao.DaoCidade;
import java.util.List;
import telaCadastros.CadCidade;
import telasMensagem.MensagemInformacao;
import util.Mensagem;

/**
 *
 * @author fumio
 */
public final class managerCadCidade implements interfaceManager {

    private Cidade cidade;
    private static CadCidade cadCidade;
    private DaoCidade daocidade = new DaoCidade();

    public managerCadCidade(Cidade ccidade) {
        cadCidade = CadCidade.getInstance(this);
        if (ccidade == null) {
            cidade = new Cidade();
        } else {
            cidade = ccidade;
            getData();
        }

        cadCidade.setVisible(true);
    }

    
    @Override
    public boolean salvar() {
        boolean resultado = false;
        try {
            if (cidade == null) {
                cidade = new Cidade();
            }

            Mensagem.registroConfirmado("Cidade");
            resultado = true;

        } catch (Exception e) {

            Mensagem.registroNaoConfirmado("Cidade");
            resultado = false;
        }

        return resultado;
    }

    @Override
    public List carregar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    private String pegaUF() {
        String uf = cadCidade.cmbEstado.getSelectedItem().toString();
        uf = uf.substring((uf.length() - 2), uf.length());
        return uf;
    }

    @Override
    public boolean setData() {
        boolean resultado;
        try {
        cidade.setCidade(cadCidade.edtCidade.getText());
        cidade.setUf(pegaUF());
        daocidade.salvar(cidade);
        resultado = true;
        } catch (Exception e) {
            resultado = false;
        }

        return resultado;
    }

    @Override
    public void getData() {
        cadCidade.edtCodigo.setText(cidade.getCodigo().toString());
        cadCidade.edtCidade.setText(cidade.getCidade());
        cadCidade.cmbEstado.setSelectedItem(cidade.getUf());

    }
}
